<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>array</title>
    <script src="./js/d3-array.min.js"></script>
</head>

<body>

</body>
<script>
    /**
     * min          最小值
     * max          最大值
     * extent       最小值和最大值
     * sum          求和
     * mean         平均值
     * variance     方差
     * quantile     它返回给定排序数字数组的p分位数，其中p是范围[0,1]中的数字。 例如，中值可以使用p = 0.5计算，第一个四分位数在p = 0.25，第三个四分位数在p = 0.75。
     * deviation    标准差
     * scan         数组扫描 返回最小元素的索引
     * cross        笛卡尔积
     * merge        数组合并
     * pairs        数组配对
     * permute      
     * zip          多数组合并
    */
    var data = [20, 40, 60, 80, 100];
    var data1 = [100, 80, 60, 40, 20];
    var array = [{ one: 1 }, { one: 10 }];
    console.log("数组=" + data + "     最小值=" + d3.min(data));
    console.log("数组=" + data + "     最大值=" + d3.max(data));
    console.log("数组=" + data + "     最小值和最大值=" + d3.extent(data));
    console.log("数组=" + data + "     求和=" + d3.sum(data));
    console.log("数组=" + data + "     平均值=" + d3.mean(data));
    console.log("数组=" + data + "     方差=" + d3.variance(data));
    console.log("数组=" + data + "     quantile=" + d3.quantile(data, 0.4))
    console.log("数组=" + data + "     标准差=" + d3.deviation(data))
    console.log("数组=" + data1 + "     数组扫描(最小元素的索引)=" + d3.scan(data1))
    console.log("数组对象=", array, "      数组对象扫描", d3.scan(array, function (a, b) { return a.one - b.one; }));
    console.log("数组1=" + data + "数据2=" + data1 + "     笛卡尔积=" + d3.cross(data, data1))
    console.log("数组1=" + data + "数据2=" + data1 + "     数组合并=" + d3.merge([data, data1]))
    console.log("数组=" + data + "     数组配对=" + d3.pairs(data));
    console.log("[10, 20], [30, 40] 多数组合并 " + d3.zip([10, 20], [30, 40]))
</script>

</html>